The present invention relates to the field of computer systems; more particularly, the present invention relates to computer systems that employ inventory scanners using a plug-in architecture.
An inventory scanner is a well-known component that reports the hardware and software configuration of the system. This component has traditionally been implemented as a single executable monolithic binary, or file, that runs on a particular system, which attempts to discover information relating to items such as processors, networking information (e.g., Transmission Control Protocol/Internet Protocol (TCP/IP) address, Media Access Controller (MAC) address, network interface card (NIC) speed, Dynamic Host Configuration Protocol (DHCP) settings, hose name, host domain, etc.), printers, processes, modems, machine configuration, operating system (OS) configuration, application configuration, etc.
A problem exists in that as a computer system is upgraded to include different or additional hardware or software components, the single monolithic binary must be changed if it is to provide information on the new components. However, it is difficult, if not impractical, to generate a new monolithic binary everytime new hardware or software is made available for inclusion in a system so that an inventory scanner could be used to provide information on that hardware or software.
Furthermore, as third parties develop new software or hardware components, they often want to have their components plugged into an existing system. However, an inventory scanner running on the system may not be able to provide any information on the new component because the monolithic binary is not written to recognize the component. This is the case even if the third party has a binary that may be used for that purpose.